---
title: フック
description: エディタフックを通じて Ultracite を AI コーディングアシスタントと統合する方法。
---

Ultracite は、エディタフックを介して AI コーディングアシスタントが編集を行った後に、コードを自動でフォーマットおよび修正できます。これにより、AI が生成したコードが手動で介入することなくプロジェクトの基準に準拠するようになります。

このフックは Biome のリンティングとフォーマッティングと連携して動作します。AI コーディングアシスタントがファイルを編集した後、フックは自動的に `npx ultracite fix` を実行して、自動修正可能なリンティングの問題をフォーマットおよび修正します。この二重のアプローチにより、インテリジェントなコード生成（AI ルールによる）と自動化されたコード品質管理（フックによる）の両方が確保されます。

> **注意:** フックは AI コーディングルールとは別物です。`--agents` フラグは AI コーディングルールを設定し、`--hooks` フラグはファイル編集後の自動フォーマットを設定します。

## セットアップ

### 自動セットアップ

`npx ultracite init` を実行すると、有効にするエディタフックを選択するよう求められます:

```bash
? Which agent hooks do you want to enable (optional)?
  ◯ Cursor
  ◯ Claude Code
```

これにより、プロジェクトディレクトリに関連するフックの設定ファイルが作成されます。

### 手動セットアップ

初期化後に手動で設定したりフックを追加したい場合は、次を実行してください:

```bash
npx ultracite init --hooks cursor,claude
```

あるいは、プロジェクトディレクトリ内でフック設定ファイルを手動で作成または編集し、適切なフックコマンドを追加することもできます。

## サポートされているエディタ

| エディタ      | フックファイルの場所          | ドキュメント                                                           |
| ----------- | --------------------------- | ----------------------------------------------------------------------- |
| Cursor      | `.cursor/hooks.json`        | [Cursor フック](https://cursor.com/docs/agent/hooks)                    |
| Claude Code | `.claude/settings.json`     | [Claude Code のフック](https://docs.claude.com/en/docs/claude-code/hooks) |

## 動作の仕組み

1. **自動実行**: AI エージェントがファイルを編集した後、フックは自動的に `npx ultracite fix` を実行します  
2. **コードのフォーマット**: Ultracite は編集されたコードを Biome の設定に従ってフォーマットします  
3. **リンティングの修正**: 自動修正可能なリンティングの問題が自動的に解決されます  
4. **シームレスな統合**: このプロセスはワークフローを中断することなく透過的に行われます

## 利点

Ultracite のエディタフックを使用することで、以下のような利点があります:

- **一貫性**: AI が生成したすべてのコードが自動的にスタイルに合わせてフォーマットされます  
- **品質**: コード生成直後にリンティングの問題が修正されます  
- **効率**: AI の編集後に手動でフォーマッタやリンタを実行する必要がありません  
- **基準遵守**: AI が生成したコードが常にプロジェクトの基準に従うようにします  
- **クリーンなコミット**: レビューする前にコードが適切にフォーマットされます

## カスタマイズ

Ultracite は既存のフック設定と賢くマージします:

- **既存のフックを保持**: すべての既存のフックとそのコマンドはそのまま維持されます  
- **重複を回避**: 既に Ultracite が設定されている場合は、再度追加されません  
- **非破壊的**: 既存のフック設定の構造は維持されます

異なるフォーマットコマンドや追加の編集後アクションが必要な場合は、フック設定ファイルを直接編集してフックの動作をカスタマイズできます。